package com.qf.order.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

/**
 * 订单分析查询参数DTO
 */
@Data
@ApiModel("订单分析查询参数")
public class OrderAnalysisDTO {
    @ApiModelProperty("开始日期")
    // 用于JSON格式参数解析
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    // 用于表单/URL参数解析
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate startDate;

    @ApiModelProperty("结束日期")
    // 用于JSON格式参数解析
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    // 用于表单/URL参数解析
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate endDate;

    @ApiModelProperty("订单状态")
    private String orderStatus;

    @ApiModelProperty("运输类型")
    private String transportType;

    @ApiModelProperty("时间粒度（day/week/month）")
    private String timeRange;
}
